
public class Main {

	private static final String ARCHIVO_DE_CARGA = "claves_a_insertar.txt";
	private static final String ARCHIVO_DE_BUSQUEDA = "claves_a_buscar.txt";
	private static final Double factorCarga = 0.9;

	private static THashing cargarHash(String nombreArchivo){
		String[] elementos = ManejadorArchivosGenerico.leerArchivo(nombreArchivo);

		int auxTamanio = (int) (elementos.length / factorCarga);

		THashing hashADevolver = new THashing(auxTamanio);

		for (String elemento : elementos){

			hashADevolver.insertarEnHash(elemento);

		}
		return hashADevolver;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		Integer cantCompExito = 0;
		Integer cantCompNoExito = 0;
		Integer cantClavesExito = 0;
		Integer cantClavesNoExito = 0;
		Integer cantCompAux;

		THashing hash = cargarHash(ARCHIVO_DE_CARGA);

		String[] elementosABuscar = ManejadorArchivosGenerico.leerArchivo(ARCHIVO_DE_BUSQUEDA);

		
		for (Integer i = 0; i < elementosABuscar.length; i++){
			cantCompAux = hash.buscarEnHash(elementosABuscar[i]);
			

			if (cantCompAux > 0){
				cantCompExito += cantCompAux;
				cantClavesExito++;
			}
			else
			{
				cantCompNoExito += (cantCompAux * -1);
				cantClavesNoExito++;
			}
		}
		
		System.out.println("Cant. Comparaciones Promedio de EXITO:" + cantCompExito );/// cantClavesExito);
		System.out.println("Cant. Comparaciones Promedio de NO EXITO:" + cantCompNoExito);// / cantClavesNoExito);

	}

}
